<html>
<style type="text/css">
.firstDivStyle + .secondDivStyle { display: table-footer-group;  }
.rubyStyle { position: relative; }
.secondDivStyle { -webkit-appearance: button; width: 1px; height: 1px; }
.posAbsolute { position: absolute; }
</style>
<script type="text/javascript">
function dumpTest() {
    testRunner.notifyDone();
}
function runTest() {
    document.getElementById('ruby').innerHTML = '<audio controls="controls" id="aud" src="blah.ogg" class="posAbsolute"></audio>';
    height = document.body.clientHeight; // Force layout
    document.body.removeChild(document.getElementById('remove')); // Cause anonymous blocks containing 'secondDivStyle' and 'ruby' to be merged
    document.getElementById('aud').style.color = "blue"; // Force style recalc
    setTimeout('dumpTest()', 10);
    if (window.testRunner) {
        testRunner.waitUntilDone();
	testRunner.dumpAsText();
    }
}
window.onload = runTest;
</script>
<body>
PASS, if no exception or crash in debug
  <div class="firstDivStyle"></div>
  <div class="secondDivStyle"></div>
  <div id="remove"></div>
  <ruby id="ruby" class="rubyStyle"></ruby>
</body>
</html>
